﻿''' <summary>
''' Абстрактный класс контроллера, предоставляющий доступ к источнику данных.
''' </summary>
''' <remarks>
''' <para>Все контроллеры, определенные в проекте, которые будут унаследованы от контроллера <c>DbController</c>, будут иметь возможность подключения к источнику данных через свойства этого класса <see cref="DataBaseController.Db" />.</para>
''' </remarks>
Public MustInherit Class DataBaseController
    Inherits AzoxBaseController

    Private _Db As New AzoxContext

    ''' <summary>
    ''' Возвращает экземпляр контекста источника данных.
    ''' </summary>
    ''' <returns>Объект <see cref="AzoxContext" />.</returns>
    Public ReadOnly Property Db As AzoxContext
        Get
            Return _Db
        End Get
    End Property

    Protected Overrides Sub Finalize()
        _Db.Dispose()
        MyBase.Finalize()
    End Sub
End Class
